/**
 * 实体查询参数类型
 */
export interface RepoProductQueryParam extends PageQuery {
    groupName?: string;
    modelType?: string;
    modelName?: string;
    component?: string;
    modelVersion?: string;
    description?: string;
    keyword?: string;
}

/**
 * 实体分页列表项
 */
export interface RepoProductEntity extends Entity {
    uuid: string;
    manufacturer: string;
    deviceType: string;
    image: string;
    imageUrl?: string;
    url: string;
    tags: string;
    description: string;
    weight: number;

    comps?: RepoProductComp[];
}

/**
 * 实体分页列表项
 */
export interface RepoProductComp {
    productId?: string;
    uuid?: string;
    modelType: string;
    modelName: string;
    modelVersion: string;
    version: string;
    stage: string;

    component?: string;
    pathName?: string;
    description?: string;
    md5?: string;
    fileSize?: number;
    createTime?: number;
    updateTime?: number;
}

/**
 * 实体分页项类型
 */
export type RepoProductPageResult = PageResult<RepoProductEntity[]>;

/**
 * 创建实体请求VO
 */
export interface CreateRepoProductRequestVO {
    uuid?: string;
    manufacturer?: string;
    deviceType?: string;
    image?: string;
    url?: string;
    tags?: string;
    description?: string;

    productId?: string;
    modelType?: string;
    modelName?: string;
    modelVersion?: string;
    version?: string;
    stage?: string;
}

